home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / ICProgKit1.0 / Source / Libs / ICSubs.c < prev    next >
C/C++ Source or Header  |  1994-11-29  |  642b  |  34 lines

  1. #include "ICAPI.h"
  2. #include "ICKeys.h"
  3. #include "ICSubs.h"
  4.  
  5. ICError ICGetPrefHandle (ICInstance inst, ConstStr255Param key, 
  6.                          ICAttr *attr, Handle *prefh)
  7. {
  8.     ICError    err = noErr;
  9.     long    prefsize = 0;
  10.  
  11.     (*prefh) = 0L;
  12.     err = ICGetPref(inst, key, attr, nil, &prefsize);
  13.     if (err != noErr)    prefsize = 0;
  14.  
  15.     (*prefh) = NewHandle(prefsize);
  16.     err = MemError();
  17.     if (err == noErr) {
  18.         HLock(*prefh);
  19.         err = ICGetPref(inst, key, attr, *(*prefh), &prefsize);
  20.         if (err == icPrefNotFoundErr) {
  21.             attr = 0;
  22.             err = noErr;
  23.         }
  24.         HUnlock(*prefh);
  25.     }
  26.     
  27.     if (err != noErr) {
  28.         if (*prefh) DisposeHandle(*prefh);
  29.         (*prefh) = nil;
  30.     }
  31.     return(err);
  32. }
  33.  
  34.